Method for controlling dynamic nth-order systems

ABSTRACT

In this controller, a manipulated variable is produced as a sum of a linear compensation term and a product term, the compensation term being a linear combination of a contouring error and its time derivatives, and the product term being formed by multiplying a fuzzy control term by a saturation term. This controller combines the advantages of the sliding-mode controller with boundary layer and those of the fuzzy controller, and thus represents a robust controller for a wide class of nonlinear nth-order systems.

BACKGROUND OF THE INVENTION

Known controlling systems for dynamic systems used in technology are either designed purely conventionally on the basis of linear or nonlinear system models, or consist of pure fuzzy control controllers. Each of the two fundamentally dissimilar approaches has its own typical advantages and disadvantages in this regard. The so-called sliding mode controllers with boundary layer stand particularly from among the conventional controlling systems, since these most readily do justice to the requirements for robustness and the involvement of a minimum of system knowledge (J. F. Slotine: The Robust Control of Robot Manipulation; The Intern. Journ. of Robotics Research (MIT), Vol. 4, No. 2, 1985, pages 49-64). These controllers are conventional controllers for higher-order (n>=2) systems, which have a compensation component for system nonlinearities and a boundary layer around the sliding surface (SS), in order to achieve a continuous%change in sign of the manipulated variable. A precondition for designing a controller of this type is to how the upper limits of the model uncertainties, parameter fluctuations, disturbances and frequencies which occur. A disadvantage of this controller is that a relatively deep knowledge of the nonlinear system components is a precondition for designing the compensation component, and this greatly restricts the variability of a controller of this type once it has been set.

An alternative to conventional control principles is provided by the fuzzy controllers, which are frequently designed on the basis of a two-dimensional phase plane (Mamdani. E. H. and Assilian S.; Art Experiment in Linguistic Synthesis with a Fuzzy Logic Controller; In: E. H. Mamdani & B. R. Gaines, Fuzzy Reasoning and its Applications, London, Academic Press, 1981, pages 311-323). These operate in principle like sliding-mode controllers with a boundary layer (S. Kawaji, N. Matsunaga: Fuzzy Control of VSS Type and its Robustness; IFSA 91, Brussels, Jul. 7-12, 1991, preprints vol. "engineering" pages 81-88) and, like them, likewise require for their design information on upper limits of the model uncertainties, parameter fluctuations, disturbances and frequencies. No compensation of linear or nonlinear components is performed. Control is performed exclusively by fuzzy rules which are derived heuristically from the phase plane. A disadvantage of these controllers is their limitation to pure fuzzy rules without taking account of easily implementable compensation components and without including additional filters such as, for example, a boundary layer. Furthermore, most fuzzy controllers are limited to processing an error and the timed derivative thereof in second-order systems (K. L. Tang, R. J. Mulholland: Comparing Fuzzy Logic with Classical Controller Designs; IEEE Trans. on Syst., Man and Cybernetics, Vol. SMC-17, No. 6, November/December 1987, pages 1085-1087). In the case of such fuzzy controllers, increasing the order leads to an exponentially growing increase in the number of rules. A further disadvantage of these controllers is that, as in the case of sliding-mode controllers without a boundary layer, a discontinuous change in sign (chattering) of the manipulated variable cam take place at the edges of the normalized phase plane,i and this leads to an undesired loading of the actuators. In addition, fuzzy controllers, whose membership functions are not tuned finely enough in the vicinity of the sliding surface, tend to undesired limit cycles.

It is the object of the invention to specify a controller for dynamic nth-order systems which combines the advantages of the sliding-mode controller with boundary layer and those of the fuzzy controller, that is to say a robust controller for a wide class of nonlinear nth-order systems which, operating on the basis of fuzzy rules on the one hand and of conventional, crisp control on the other hand, combines the advantages of the two technologies.

SUMMARY OF THE INVENTION

This object is achieved by means of a method for controlling dynamic nth-order systems.

In this controller, a manipulated variable is produced as a sum of a linear compensation term and a product term, the compensation term being a linear combination of a contouring error and its time derivatives, and the product term being formed by multiplying a fuzzy control term by a saturation term.

In this way, the fuzzy controller is extended by a control term which compensates a specific, easily accessible linear system component. Furthermore, a boundary layer is introduced which permits a continuous change in sign of the manipulated variable in the entire operating range. Finally, the method of fuzzy control is hereby extended to system orders >2. The controller design according to the invention follows the principles of the controller design for sliding-mode controllers with boundary layer, and thereby guarantees the stability of the controlled system as well as its robustness with respect to unmodeled frequencies.

BRIEF DESCRIPTION OF THE DRAWINGS

The features of the present invention which are believed to be novel, are set forth with particularity in the appended claims. The invention, together with further objects and advantages, may best be understood by reference to the following description taken in conjunction with the accompanying drawings, in the several Figures of which like reference numerals identify like elements, and in which:

FIG. 1 shows in a schematic way a simple example of a dynamic system which can be appropriately controlled by means of a controller according to the invention.

FIG. 2 shows the membership functions of a demonstration example of the controller according to the invention of the dynamic system from FIG. 1.

FIG. 3 shows the tracking of a sinusoidal, inclined contour by a robot effector equipped with force sensors.

DESCRIPTION OF THE PREFERRED EMBODIMENT

The invention is described in more detail below with the aid of a preferred exemplary embodiment.

A. Controller Design

The controller design proceeds from a nonlinear nth-order system:

    x.sup.(n) =f(x,t)+u+d(t)                                   (1)

where

    x(t)=(x,x.sup.(1), . . . , x.sup.(n-1)).sup.T

x(t)-state vector; d (t)-disturbances; u-manipulated variable.

f(x,t)-nonlinear system components.

Furthermore, the upper bounds F(x,t), D(x,t) and v(t) are known as

    |f(x,t)|<=F.sup.˜ (x,t);

    |d|<=D(x,t);

    |x.sub.d.sup.(n) (t)|<=v(t)              (2)

where

x_(d) -desired value.

The contouring error (tracking error) may be given as

    e=x(t)-x.sub.d (t)=(e,e.sup.(1), . . . , e.sup.(n-1)).sup.T (3)

In addition, let

    s(x,t)=(d/dt+λ).sup.(n-1) e=0; λ>=0          (4)

be a sliding surface (SS). If success is achieved in determining the manipulated variable u by a controller such that

    1/2d/dt(s.sup.2 (x,t))<=-η|s|; η>=0 (5)

the system behaves such that the error vector vanishes in finite time independently of unmodeled system components and disturbances. This condition (5) always forces the state vector in the direction of SS. If it is located on the SS, it slides in a finite time which depends on the selected λ in equation (4) and the maximum manipulated variable |u_(max) | in the zero point of the phase plane, which is defined by the components of the error vector e.

One controller which performs this is ##EQU1## where ##EQU2## 0-strength of the BL K_(Fuzz) -actual FC.

The controller is stable for

    K.sub.Fuzz|max >=F.sup.˜ +D+v+η         (7)

In order to suppress further unmodeled frequencies v_(u), it must hold that ##EQU3## In the case of a sampling system having a sampling frequency v_(sample) and a time constant π_(plant) of the process to be controlled, it is necessary, furthermore, to select λ such that ##EQU4##

The actual fuzzy control term K_(Fuzz) is characterized in that instead of the error and its derivatives the distance s_(p) of the state vector from the sliding surface SS (from the switching straight line in the 2-dimensional case) and distance d from the direction of the normal vector of the sliding surface SS, which is a switching hypersurface, are evaluated in the condition part of the fuzzy rules. This corresponds to the transformation of the n-dimensional phase plane into a 2-dimensional s_(p) -d plane. This measure prevents the exponential rise of rules with the increase in system order. The individual control steps then comprise that

a) an error vector e is formed from desired values and controlled variables of the process;

b) the error vector e is normalized to a normalized error vector e_(N) having the property that d_(N) is situated within a bounded phase region;

c) e_(N) is used to form a normalized sliding surface (SS), which is given by s(x,t)=0 and by means of which the sign of the manipulated variable u to be specified is determined;

d) the distances s_(p) between e_(N) and s=0 as well as d between e_(N) and the normal vector n_(N) from s=0 are formed, and s_(p) and d are fuzzified on the basis of prescribed membership functions;

e) the fuzzy vector μ_(uN) of the normalized manipulated variable u_(N) is formed with the aid of i fuzzy rules of the form IF s_(p) =s_(pi) AND d=d_(i) THEN u_(N) =u_(Ni) ;

f) a crisp normalized manipulated variable u_(N) is formed from the fuzzy vector μ_(uN) by defuzzification:

g) a physical manipulated variable u.sup.˜ =-K_(Fuzz) (e,λ) is formed from u_(N) with the aid of a previously determined denormalization factor;

h) a compensation component ##EQU5## is formed, and the manipulated variable u=u_(Komp) +u˜·sat(s/φ) is switched on to the system.

The normalization factors are determined as follows:

The sliding surface SS in the normalized phase plane is given by

    (d/dt+λ.sub.N).sup.(n-1) e.sub.N =0                 (11)

In addition, let N_(e), N_(e1), . . . be the normalization factors for e, e¹, . . . where

    e.sub.N =N.sub.e ·e; e.sup.(1).sub.N =e.sup.(1) N.sub.e.sup.(1)

After inserting the normalized state vector e_(N) in equation (4) and comparing coefficients, this yields ##EQU6##

λ_(N) is equated to one for the sake of simplicity, with the result that after k has been chosen in accordance with the abovenamed criteria all that remains open is to select one of the N_(e)(k) in order to be able to determine all the normalization factors. This purpose is served by N_(e), which is determined in such a way that the operating point of the controller is placed reliably into the normalized interval of e_(N). An improvement in the control response by changing N_(e) can be performed by means of an appropriate learning procedure. The normalized K_(FuzzN) is calculated within the normalized s_(p) -d plane using rules of the type

    IF s.sub.pN =s.sub.pNi AND d.sub.N =d.sub.Ni THEN K.sub.FuzzN =K.sub.FuzzN|i                                   (12)

Finally, the design specifications for formulating the rules in the normalized s_(pN) -d_(N) plane remain to be determined:

1. K_(FuzzN) is to rise with rising |s_(pN) | and fall with falling |s_(pN) |, and

2. K_(FuzzN) is to rise with rising |d_(N) | and fall with falling |d_(N) |.

The selection of the denormalization factor N_(D) is performed as follows: let K_(FuzzN)|max be the maximum possible output of the normalized fuzzy controller. Furthermore, let K_(Fuzz)|max be known from the estimate (7). The denormalization factor is then yielded as ##EQU7## B. Demonstration Example

The aim is to use a robot to track a contour in a force-adaptive fashion. Applications of this are to be found in robot-guided cleaning of castings, track-mounted welding, bonding etc. The object is to use the robot effector (tool, gripper) to track a surface contour which is not completely known a priori with a constant force. The forces acting between effector and surface are measured using a force sensor. The force error between the desired and actual values is passed to the fuzzy controller, whose output (manipulated variable) is a position correction of the robot arm. It is assumed that the entire dynamics are located in the effector or in the surface. A further simplification is to limit the dynamic calculation to one coordinate direction. The effector is a spring-mass damper system and the surface can be modeled as a spring. As depicted in FIG. 1, the effector is represented by a mass M, a spring constant K1 and a damping element C that forms the spring-mass system. The surface has a spring constant K2. The corresponding differential equation is then:

    m·y.sup.(2) +c·(y.sup.(1) -y.sup.(1).sub.0)-m·g·K1·(y-y.sub.0 -D)+K2·(y-y.sub.c +r+A)=0                        (B1)

Equation (B1) is a force balance equation of the following type (see FIG. 1):

    F.sub.T +F.sub.D -F.sub.G +F.sub.F +F.sub.O =0             (B2)

where

F_(T) -inertial force

F_(D) -damping force

F_(G) -force due to weight

F_(F) -spring force

F_(O) -surface force.

The sensor force may be represented by the spring force F_(F). This yields, with

    F.sub.F =K1·(y-y.sub.0 -D);

    F.sup.(1).sub.F =K1·(y.sup.(1) -y.sup.(1).sub.0);

    F.sup.(2).sub.F =K1·(y.sup.(2) -y.sup.(2).sub.0)  (B3)

an equation for the spring force (sensor force) F_(F) : ##EQU8## In this case,

    U=-K1·y.sup.(2).sub.0                             (B 5)

is the manipulated variable which is to be generated by the controller.

The concrete parameters are:

C=50 kg/s

m=0.05 kg

K1=5000 kg/s²

τ_(sample) =0.01 s

The comparison of equation (B1) in point 3 and equation (B4) yields ##EQU9## Furthermore, it holds that

    s=λe+e.sup.(1)

    e=F.sub.F -F.sub.Fd

The controller, which Corresponds to equation (6) of the preceding section, has the following form for the two-dimensional case

    u=-λ·e.sup.(1) -K.sub.Fuzz (e,e.sup.(1),λ)·sat(s/φ))             (B6)

The F⁻ in equation (7) of the preceding section is equal to ##EQU10## The distances s_(pN) and |d_(N) | of the state vector e from the SS or from the straight line normal to the SS in the normalized phase plane are ##EQU11##

The following fuzzy sets are defined for the normalized values s_(pN) and |d_(N) | as well as for the normalized control u_(N) :

PSS-positive s_(pN) small

PSB-positive s_(pN) big

NSS-negative s_(pN) small

NSB-negative s_(pN) big

DS-d_(N) small

DB-d_(N) big

PUS-positive u_(N) small

PUB-positive u_(N) big

NUS-negative u_(N) small

NUB-negative u_(N) big.

FIG. 2 shows the corresponding membership functions. The rules for forming the control u_(N) are: ##EQU12##

The following parameters were selected for the controller: ##EQU13## v=0.2 m/s (forward speed).

FIG. 3 shows the tracking of a sinusoidal, inclined contour by a robot effector which is fitted with a force sensor and which has been modeled by the spring-mass damping system according to equation (B1) (see FIG. 3a for the PD controller and FIG. 3b for the fuzzy controller).

The invention is not limited to the particular details of the method depicted and other modifications and applications are contemplated. Certain other changes may be made in the above described method without departing from the true spirit and scope of the invention herein involved. It is intended, therefore, that the subject matter in the above depiction shall be interpreted as illustrative and not in a limiting sense. 

What is claimed is:
 1. In a computer system, a method for controlling dynamic nth-order systems, comprising the steps of: producing a manipulated variable u as a sum of a linear compensation term C and a product term P, the compensation term C being a linear combination of a contouring error e and its time derivatives e.sup.(n-k), and the product term being formed by multiplying a fuzzy control term K_(Fuzzy), by a saturation term, sat; and using the manipulated variable μ for controlling at least a system component of a dynamic nth-order system;the linear compensation term being given by ##EQU14## e denoting the contouring error, e.sup.(n-k) denoting the time derivatives of e, λ denoting a reciprocal time constant, and n denoting the order of the dynamic system; the saturation term, sat, depending on time derivatives of the contouring error and a boundary layer constant φ>0 in accordance with the formula ##EQU15## the fuzzy control term K_(Fuzzy) being selected such that

    K.sub.F/max >=F.sup.- +D+V+η

when F.sup.˜ (x,t)>=|f(x,t)|, D(x,t)>=|d(t)| and v(t)>=|x_(d).sup.(n) (t)|, and x(t) denoting a state vector of the system, d(t) denoting disturbances of the system dynamics, f(x,t) denoting nonlinear system components, t denoting time, and η denoting a non-negative constant.
 2. The method as claimed in claim 1, wherein a sliding surface is formed and wherein the fuzzy control term K_(Fuzzy) is determined by fuzzy rules in whose condition part a distance, s_(p), of a state vector x from the sliding surface and a distance d of the state vector x from a direction of a normal vector of the sliding surface are determined.
 3. The method as claimed in claim 2, whereina) an error vector e is formed from desired values and controlled variables of the process; b) the error vector e is normalized to a normalized error vector e_(N) having the property that a normalized d_(N) is situated within a bounded phase region; c) the normalized error vector e_(N) is used to form the sliding surface, which is given by s(x,t)=0 and by means of which a sign of the manipulated variable u to be specified is determined; d) the distances s_(p) between e_(N) and s=0 as well as d between e_(N) and the normal vector n_(N) from s=0 are formed, and s_(p) and d are fuzzified on the basis of prescribed membership functions; e) the fuzzy vector μ_(uN) of the normalized manipulated variable u_(N) is formed with the aid of i fuzzy rules of the form IF s_(p) =s_(pi) AND d=d_(i) THEN u_(N) =u_(Ni) ; f) a crisp normalized manipulated variable u_(N) is formed from the fuzzy vector μ_(uN) by defuzzification: g) a physical manipulated Variable u.sup.˜ =-K_(Fuzz) (e,λ) is formed from u_(N) with the aid of a previously determined denormalization factor; h) a compensation component ##EQU16## is formed, and the manipulated variable u=u_(Komp) +u.sup.˜ ·sat(s/φ) is switched onto the system. 